Adaptive Non-linear Pattern Matching Automata
نویسندگان
چکیده
Efficient pattern matching is fundamental for practical term rewrite engines. By preprocessing the given patterns into a finite deterministic automaton can be decided in single traversal of relevant parts input term. Most automaton-based techniques are restricted to linear patterns, where each variable occurs at most once, and require an additional post-processing step check so-called consistency. However, we show that interleaving consistency phases reduce number required steps find all matches. Therefore, take existing adaptive automata as introduced by Sekar et al extend these with checks. We prove resulting correct, several examples some reduction achieved.
منابع مشابه
Evaluating Linear XPath Expressions by Pattern-Matching Automata
We consider the problem of efficiently evaluating a large number of XPath expressions, especially in the case when they define subscriber profiles for filtering of XML documents. For each document in an XML document stream, the task is to determine those profiles that match the document. In this article we present a new general method for filtering with profiles expressed by linear XPath expres...
متن کاملEgison: Non-Linear Pattern-Matching against Non-Free Data Types
This paper introduces the Egison programming language whose feature is strong pattern-matching facility against not only algebraic data types but also non-free data types whose data have multiple ways of representation such as sets and graphs. Our language supports multiple occurrences of the same variables in a pattern, multiple results of pattern-matching, polymorphism of pattern-constructors...
متن کاملAdaptive Pattern Matching
Pattern matching is an important operation used in many applications such as functional programming, rewriting and rule-based expert systems. By preprocessing the patterns into a DFA-like automaton, we can rapidly select the matching pattern(s) in a single scan of the relevant portions of the input term. This automaton is typically based on left-to-right traversal (of the patterns) or its varia...
متن کاملLinear Pattern Matching Algorithms
In 1970, Knuth, Pratt, and Morris [1] showed how to do basic pattern matching in linear time. Related problems, such as those discussed in [4], have previously been solved by efficient but sub-optimal algorithms. In this paper, we introduce an interesting data structure called a bi-tree. A linear time algorithm "for obtaining a compacted version of a bi-tree associated with a given string is pr...
متن کاملOptimal Left-to-Right Pattern-Matching Automata
We propose a practical technique to compile pattern-matching for prioritised overlapping patterns in equational languages into a minimal, deterministic, left-toright, matching automaton. First, we present a method for constructing a tree matching automaton for such patterns. This allows pattern-matching to be performed without any backtracking. Space requirements are reduced by using a directed...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Logical Methods in Computer Science
سال: 2021
ISSN: ['1860-5974']
DOI: https://doi.org/10.46298/lmcs-17(4:21)2021